1. Field of the Invention
This invention relates to data compression and decompression in a video encoding/decoding system, and in particular, to filtering algorithms and their associated hardware for post-processing of previously decoded image data.
2. Discussion of Related Art
Video communication equipment, such as videoconferencing systems and videophone devices, have enabled people to communicate visually without having to travel to a common location. However, in general the communication channels linking the video communication equipment do not have the necessary bandwidth to carry real-time video or multi-media data. In order to transmit video images over standard communications channels, the data must be compressed to reduce the data rate required of the transmission channel. The data stream, for example, may then be transmitted over a phone line, an Integrated Services Digital Network line (ISDN), or the Internet.
In a typical videoconferencing system, the data stream is received at the remote location, where it is decoded into a series of images, and displayed on a suitable viewing apparatus. Depending on the equipment used, the decoding process typically operates at one to thirty frames per second. In typical encoding/decoding algorithms, images are processed in blocks of pixels. Typically, an image is separated into an array of 16 block by 16 block Macroblocks. Each of the Macroblocks can include six (6) 8×8 blocks of data, separated into a 16×16 Y block, an 8×8 U block and an 8×8 V block. In general, the notation N×M block means an N bytes by M bytes block of data.
In processing a moving picture, blocks such as those described above are individually processed to maximize the compression ratio. However, artifacts can arise upon reconstruction of the image from the blocks, in which the boundaries between blocks do not blend smoothly, and are perceived by the human eye as “blockiness” or as having large granularity in the image at the boundaries of the blocks. Another artifact, called ringing, can also appear in reconstructed images. Ringing artifacts occur at the boundary of sharp edges in the transmitted image, and are therefore particularly evident in animation. Ringing can result from the quantization process which truncates high frequency coefficients of a compression transformation.
The “blockiness” and the ringing can be removed by a deblocking filter and a deringing filter, respectively, as described in the MPEG-4 standard. A de-blocking filter smoothes the boundaries between the blocks, making the blockiness less apparent to human viewers. A deringing filter removes the effects of ringing. Because image quality depends critically on transmission rate, there is an ongoing need for faster image processing systems to perform these filtering functions.